#include <iostream>
#include <math.h>
using namespace std;

int weishu(int a){
    int weishu = 0;
    while(a > 0){
        a = a/10;
        weishu++;
    }
    return weishu;
}

int reverseInteger(int a){
    int n = weishu(a);
    //位数只有1时即为递归出口
	if(n==1) return a;
    //返回 当前位的数字*10的(位数-1)次幂 + 下一位的数
    //pow(i,j) 返回i的j次幂
	return a%10*pow(10,n-1)+reverseInteger(a/10);
}

int main(){
    int a = 1234;
    int b = reverseInteger(a);
    cout << b << endl;
    return 1;
}